From: Jeenu Viswambharan Date: Fri, 6 Jul 2018 15:50:06 +0000 (+0100) Subject: RAS: Introduce handler for EL3 EAs X-Git-Url: http://git.openwrt.org/%22https:/collectd.org//%22/%22https:/collectd.org/%22?a=commitdiff_plain;h=eaeaa4d048076cf48abb42a288ec9ef7a57dd0e6;p=project%2Fbcm63xx%2Fatf.git RAS: Introduce handler for EL3 EAs External Aborts while executing in EL3 is fatal in nature. This patch allows for the platform to define a handler for External Aborts received while executing in EL3. A default implementation is added which falls back to platform unhandled exception. Change-Id: I466f2c8113a33870f2c7d2d8f2bf20437d9fd354 Signed-off-by: Jeenu Viswambharan --- diff --git a/bl31/aarch64/runtime_exceptions.S b/bl31/aarch64/runtime_exceptions.S index ff77597a..54db6814 100644 --- a/bl31/aarch64/runtime_exceptions.S +++ b/bl31/aarch64/runtime_exceptions.S @@ -213,7 +213,7 @@ end_vector_entry fiq_sp_el0 vector_entry serror_sp_el0 - b report_unhandled_exception + no_ret plat_handle_el3_ea end_vector_entry serror_sp_el0 /* --------------------------------------------------------------------- @@ -239,7 +239,7 @@ vector_entry fiq_sp_elx end_vector_entry fiq_sp_elx vector_entry serror_sp_elx - b report_unhandled_exception + no_ret plat_handle_el3_ea end_vector_entry serror_sp_elx /* --------------------------------------------------------------------- diff --git a/plat/common/aarch64/platform_helpers.S b/plat/common/aarch64/platform_helpers.S index 8a07f8f5..a5d26c01 100644 --- a/plat/common/aarch64/platform_helpers.S +++ b/plat/common/aarch64/platform_helpers.S @@ -22,6 +22,7 @@ .weak plat_handle_uncontainable_ea .weak plat_handle_double_fault + .weak plat_handle_el3_ea #if !ENABLE_PLAT_COMPAT .globl platform_get_core_pos @@ -212,3 +213,11 @@ endfunc plat_handle_uncontainable_ea func plat_handle_double_fault b report_unhandled_exception endfunc plat_handle_double_fault + + /* ----------------------------------------------------- + * Platform handler for EL3 External Abort. + * ----------------------------------------------------- + */ +func plat_handle_el3_ea + b report_unhandled_exception +endfunc plat_handle_el3_ea